import React, { Component } from 'react';



import { ErrorBoundary } from './components';
import { ResourceManagerProps } from './ResourceManagerProps';
import { TableTemplate } from './TableTemplate';
import { ConfigProvider } from 'antd';
import zhCN from 'antd/lib/locale/zh_CN';

export class ResourceManager extends Component<ResourceManagerProps> {

  renderTemplate() {
    const { renderTemplate, template = 'Table' } = this.props;

    // 第一级优先，模板渲染
    if (renderTemplate) {
      return renderTemplate(this.props);
    }

    // 第二级优先，渲染指定模板
    switch (template) {
      case 'Table':
        return <TableTemplate {...this.props} />
      default:
        console.error('Invalid template name');
        break;
    }
  }

  // render() {
  //   console.log('参数：', this.props);
  //   return (
  //     <div>{this.renderTemplate()}</div>
  //   )
  // }

  render() {
    // console.log('参数：', this.props);
    return (
      <ErrorBoundary>
        <ConfigProvider locale={zhCN}>{this.renderTemplate()}</ConfigProvider>
      </ErrorBoundary>
    )
  }
}
